-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dfp: allowing the dfp cluster to do dns lookups #38237
Conversation
3e66464
to
ce1d3c8
Compare
Signed-off-by: Alyssa Wilk <[email protected]>
Coverage failure is real. I think I addressed one issue in the latest push but I want to add an e2e test of request cancelation during DFP lookup. I think the code is ready for a pass regardless if you're game |
Signed-off-by: Alyssa Wilk <[email protected]>
Signed-off-by: Alyssa Wilk <[email protected]>
Signed-off-by: Alyssa Wilk <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Modulo a couple of minor comments, I think this LGTM. Very exciting!
HostConstSharedPtr host; | ||
std::string details; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps a comment on what details
represents.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
envoy/upstream/load_balancer.h
Outdated
*/ | ||
virtual void onAsyncHostSelection(HostConstSharedPtr&& host) PURE; | ||
virtual void onAsyncHostSelection(HostConstSharedPtr&& host, std::string details) PURE; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this perhaps be std::string&&
to avoid a copy?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SGTM
// LoadDnsCacheEntryHandlePtr ensures that no callback will occur, at which | ||
// point it is safe to delete the DFPHostSelectionHandle. | ||
struct DFPHostSelectionHandle | ||
: public Upstream::AsyncHostSelectionHandle, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: AsyncHostSelectionHandle is a class, so anything which extends it should also be a class I think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Signed-off-by: Alyssa Wilk <[email protected]>
This allows bypassing the DFP for most DFP use. It does not yet support the use case use_subcluster_config at which point DFP is still required.
Risk Level: meidum
Testing: MORE NEEDED
Docs Changes: n/a
Release Notes: inline
[Optional Runtime guard:] envoy.reloadable_features.dfp_cluster_resolves_hosts